package com.jokins.common.entry.ios.user;

import com.jokins.common.actions.enty.CommonEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * 〈用户表，存储用户相关信息〉<br>
 *
 * @author Mr.Wang
 * @create 2025/2/4
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class BookUser extends CommonEntity {

    /**
     * 用户账号，唯一且必填
     */
    private String account;
    /**
     * 简约用户账号
     */
    private String easyAccount;
    /**
     * 自定义
     */
    private String customizeAccount;
    /**
     * 账号类型：注册会员，内测会员，付费会员，普通会员，高级会员，尊享会员，白银会员，黄金会员，钻石会员，
     * 邀请会员，学生会员，企业会员，活动会员
     */
    private String accountType;
    /**
     * 炼气期\筑基期\金丹期\元婴期\化神期\炼虚期\合体期\大乘期\渡劫期
     */
    private String level;
    /**
     * 等级数值
     */
    private Integer levelValue;
    /**
     * 头像
     */
    private String avatar;
    /**
     * 用户名，唯一且必填
     */
    private String username;
    /**
     * 用户密码，存储加密后的密码
     */
    private String password;
    /**
     * 加密后的密码
     */
    private String encryptPassword;
    /**
     * 存储加密密钥
     */
    private String salt;
    /**
     * 初始化向量
     */
    private String iv;
    /**
     * 用户邮箱，唯一且必填
     */
    private String email;
    /**
     * 手机号
     */
    private Integer phone;
    /**
     * 登录次数
     */
    private Integer loginCount;
    /**
     * 用户账户创建时间，默认值为当前时间戳
     */
    private Date createdAt;

    /**
     * 用户最后一次登录的时间
     */
    private Date lastLoginTime;

    /**
     * 用户最后一次登录的地点
     */
    private String lastLoginLocation;

    /**
     * 用户最后一次登录的 IP 地址
     */
    private String lastLoginIp;

    /**
     * 用户最后一次登录的设备名称
     */
    private String lastLoginDeviceName;

    /**
     * 用户最后一次登录的设备型号
     */
    private String lastLoginDeviceModel;

    /**
     * 用户最后一次登录的设备系统
     */
    private String lastLoginDeviceSystem;

    /**
     * 用户最后一次登录的设备系统版本
     */
    private String lastLoginDeviceSystemVersion;

    /**
     * 账号状态，0 正常，1 锁定，2 待审批
     */
    private Integer status;
}